/**********************************************************************************************/
// 2and.h
//
// Element 2And
// Copyright Diamant Group 2008
/**********************************************************************************************/
#ifndef _4EQUAL_H_
#define	_4EQUAL_H_

#include "stdafx.h"
#include "dgtKernel.h"
#include "dgt_SmartMacros.h"
#include "dgt_SubCircuitElement.h"

/**********************************************************************************************/
SMART_CLASS( dgt_Equal_Four );

/**********************************************************************************************/
class dgt_Equal_Four: public dgt_SubCircuitElement
{
	public://///////////////////////////////////////////////////////////////////////////////////

							dgt_Equal_Four( void );

							~dgt_Equal_Four( void );

public://///////////////////////////////////////////////////////////////////////////////////

	// Count of outputs
	unsigned long			get_DataInputCount( void )
	{ return 4; }
	unsigned long			get_DataOutputCount( void )
	{ return 1; }
	unsigned long			get_ServiceInputCount( void )
	{ return 4; }
	wxArrayString			get_ServiceInputNames( void )
		{ return m_ServiceInputs; }
	
	// Name of element
	wxString				get_Name( void )
		{ return m_Name; }

	// Circuit
	dgt_Circuit_Ptr			get_Circuit( void )
		{ return m_Circuit; }

	wxArrayString			get_Dependies( void )
		{ return m_Dependies; }

private:////////////////////////////////////////////////////////////////////////////////////

	wxString				m_Name;
	wxArrayString			m_ServiceInputs;
	dgt_Circuit_Ptr			m_Circuit;
	wxArrayString			m_Dependies;
};

#endif // _4EQUAL_H_